/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2009，所有权利保留。
 * 
 * 项目名：	rumba-widget2
 * 文件名：	HasRFieldCaption.java
 * 模块说明：	
 * 修改历史：
 * Feb 2, 2009 - lxm - 创建。
 */
package com.hd123.rumba.gwt.widget2.client.form;

import com.google.gwt.user.client.ui.Widget;

/**
 * 标记一个控件具有可作为表单域标题的功能。
 * 
 * @author lxm
 * 
 */
public interface HasRFieldCaption {

  /**
   * 取得表单域标题。
   * 
   * @return
   */
  public String getFieldCaption();

  /**
   * 取得是否必填。
   * 
   * @return
   */
  public boolean isRequired();

  /**
   * 取得是否可用。
   * 
   * @return
   */
  public boolean isEnabled();

  /**
   * 设置侦听器。
   * 
   * @param listener
   *          指定被设置的侦听器对象。
   */
  public void setFieldCaptionListener(RFieldCaptionListener listener);

  /**
   * 如果存在删除当前侦听器对象。
   */
  public void removeFieldCaptionListener();

  /**
   * 返回代表当前控件的Widget对象。禁止返回null值。
   * 
   * @return
   */
  public Widget asWidget();

}
